﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using LogicaControl;
using ModeloEntidades;

namespace Interfaces.Consultorio
{
    public partial class UI_TramiteLista : Form
    {
        /**************************************************************
        //                       D E L E G A D O S
        **************************************************************/
        public delegate void seleccionado(Tramite_Matriculacion unTramite);
        public delegate void eliminado(Tramite_Matriculacion unTramiteParaeliminar);

        /**************************************************************
        //                         E V E N T O S
        **************************************************************/
        public event seleccionado cuandoSeleccionaUno;
        public event eliminado cuandoEliminoUno;

        /**************************************************************
        //                      A T R I B U T O S
        **************************************************************/
        private Controlador_Tramite_Matriculacion miControladorTramites = new Controlador_Tramite_Matriculacion();
        

        public UI_TramiteLista()
        {
            InitializeComponent();

        //  BindingSource_tramitesEnCurso.DataSource = miControladorTramites.obtener_vista_enCurso();

        }

        private void button_seleccionar_Click(object sender, EventArgs e)
        {

            if (this.DataGridView_tramitesEnCurso.SelectedRows.Count == 1)
            {
                TramitesVista seleccionado = this.DataGridView_tramitesEnCurso.SelectedRows[0].DataBoundItem as TramitesVista;

                // Si tenemos subcriptores al avento....
                if (cuandoSeleccionaUno != null)
                {
                    this.cuandoSeleccionaUno(seleccionado.obtener_original());   // | E V E N T O |
                    this.Dispose(); // Destruyo la ventana
                }
            }

        }

        private void button_cancelar_Click(object sender, EventArgs e)
        {
            this.Dispose();
        }

        private void button_eliminar_Click(object sender, EventArgs e)
        {
            if (this.DataGridView_tramitesEnCurso.SelectedRows.Count == 1)
            {
                if (MessageBox.Show("Esta seguro que desea eliinar el tramite",
                                    "Eliminar",
                                    MessageBoxButtons.YesNo,
                                    MessageBoxIcon.Warning,
                                    MessageBoxDefaultButton.Button1,
                                    MessageBoxOptions.RightAlign)
                                    ==
                                    System.Windows.Forms.DialogResult.Yes)
                {
                    TramitesVista eliminado = this.DataGridView_tramitesEnCurso.SelectedRows[0].DataBoundItem as TramitesVista;
                    this.DataGridView_tramitesEnCurso.Rows.RemoveAt(this.DataGridView_tramitesEnCurso.SelectedRows[0].Index);
                    //this.cuandoEliminoUno(eliminado);

                    //miControladorTramites.eliminar(eliminado.id);

                }
            }
        }

        private void UI_TramiteLista_Load(object sender, EventArgs e)
        {
        // MENSAJE QUE SE VISUALIZA AL POSAR EL CURSOS SOBRE EL BOTON

            toolTip_TramiteCurso_eliminar.AutoPopDelay = 5000; //TIEMPO DE DURACION DEL MENSAJE
            toolTip_TramiteCurso_eliminar.InitialDelay = 500; //TIEMPO EN Q EMERGE EL MENSAJE 
            toolTip_TramiteCurso_eliminar.ReshowDelay = 500;
            toolTip_TramiteCurso_eliminar.ShowAlways = true;
            toolTip_TramiteCurso_eliminar.SetToolTip(this.button_eliminar, "ELIMINAR");

            toolTip_TramiteCurso_buscar.AutoPopDelay = 5000; //TIEMPO DE DURACION DEL MENSAJE
            toolTip_TramiteCurso_buscar.InitialDelay = 500; //TIEMPO EN Q EMERGE EL MENSAJE 
            toolTip_TramiteCurso_buscar.ReshowDelay = 500;
            toolTip_TramiteCurso_buscar.ShowAlways = true;
            toolTip_TramiteCurso_buscar.SetToolTip(this.button_buscar, "BUSCAR");
        
        
        
        
        }
    }
}
